//数据库数据模型（存放英雄信息的模型 （表）），哪里需要直接引用
const mongoose = require('mongoose')

const schema = new mongoose.Schema({
  name: { type: String },//英雄名称
  avatar: { type: String },//英雄头像
  banner: { type: String },//英雄大图
  title: { type: String },//英雄称号
  //英雄职业类型，有可能一个英雄不止一个职业，又要通过id去英雄分类里面做关联，所以定义为数组
  categories: [{ type: mongoose.SchemaTypes.ObjectId, ref: 'Category' }],
  //英雄打分
  scores: {
    difficult: { type: Number },//难度评分
    skills: { type: Number },//技能评分
    attack: { type: Number },//攻击评分
    survival: { type: Number }//生存评分
  },
  //技能
  skills: [{
    icon: { type: String },//技能图标
    name: { type: String },//技能名称
    description: { type: String },//技能介绍
    delay: { type: String },//冷却
    cost: { type: String }//消耗
  }],
  //items1顺风出装，items2逆风出装（要关联装备的那张表，用id关联）
  items1: [{ type: mongoose.SchemaTypes.ObjectId, ref: 'Item' }],
  items2: [{ type: mongoose.SchemaTypes.ObjectId, ref: 'Item' }],

  usageTips: { type: String },//使用技巧
  battleTips: { type: String },//对抗技巧
  teamTips: { type: String },//团战技巧
  //英雄关系（搭档）
  partners: [{
    hero: { type: mongoose.SchemaTypes.ObjectId, ref: 'Hero' },//搭档英雄
    description: { type: String }//描述
  }],
  // 被谁克制
  restrain: [{
    hero: { type: mongoose.SchemaTypes.ObjectId, ref: 'Hero' },//克制的英雄
    description: { type: String }//描述
  }]

})

module.exports = mongoose.model('Hero', schema, 'heroes')